FIG. 1 shows a carriage driving mechanism for an ordinary serial-dot printer, in which printing to a printing medium 13 (e.g. paper) is made by converting the rotational motion of a carriage drive motor 4 into a linear motion via a pulling member (e.g. belt) 10 and pulleys 11 so that a carriage 12 for mounting a printing head 7 can travel at a predetermined speed. Further, the positional control of the carriage 12, that is, the printing position control is effected on the basis of the output pulse of an encoder 5 mounted on the carriage drive motor 4.
FIG. 2 shows a driving pattern of the carriage drive motor 4 required when printing data for one line is printed.
In general, the printing operation is effected when the carriage 12 travels at a target constant speed. However, it is possible to realize a high speed printing if the printing operation is effected when the carriage 12 is being accelerated from a standstill to a constant speed or when being decelerated from a constant speed to a standstill.
In the serial-dot printer such as a wire dot printer in particular, however, the travel distance of the carriage 12 from when a printing command is given to when the ends of wires reach the printing medium 13 to form dots (referred to as flight time) differs according to the travel speed of the carriage 12, thus resulting in a problem in that dot intervals are not equalized when the printing operation is made under the condition that the travel speed of the carriage 12 is not kept at a constant value.
To overcome this problem, conventionally a delay time is determined according to the flight time and the carriage travel speed, and the printing command is given after the delay time has elapsed for compensation, as disclosed in Japanese Published Unexamined (Kokai) Patent Appli. No 55-85984.
As another serious problem, however, there exists the influence of expansion and contraction of the pulling member, with the result that the dot intervals will not be equalized when the printing operation is effected during the acceleration or deceleration of the carriage 12.
A belt 10 is typically used as the pulling member, and the belt is usually provided with an elastic component. FIG. 3 is a simplified model view of the carriage drive mechanism, in which (a) shows the status where the carriage is driven in an ideal fashion without influence of elastic component and (b) shows the status where the carriage is accelerated in the arrow direction under influence of elastic component. In the case shown in FIG. 3(b), a torque generated by the carriage drive motor 4 is transmitted to the carriage 12 under the condition that the belt is being expanded by .DELTA.E on the travel direction side (contracted on the opposite side). On the other hand, when decelerated, a torque generated by the carriage motor 4 is transmitted to the carriage 12 under the condition that the belt is being contracted on the travel direction side (expanded on the opposite side). In the description below, the expansion and contraction of the belt 10 are discussed only on the travel direction side.
In FIG. 3, the reference numeral 502 denotes a graduation obtained by converting the encoder pulse generated by the encoder 5 for each constant revolutional angle .DELTA.r of the carriage drive motor 4 into the travel distance of the carriage 12, in which the rotational angle .DELTA.r corresponds to the travel stroke .DELTA.x of the carriage 12. In general, the printing command signals are given on the basis of the rotational angle of the carriage drive motor 4. Therefore, the printing command signals are generated on the assumption that the carriage 12 travels by .DELTA.x whenever the carriage drive motor 4 rotates through the .DELTA.r. In the conventional method, the correction has been started at this time according to the flight time and the travel speed of the carriage 12.
In the case where the carriage is driven ideally without any elastic component of the belt as shown in FIG. 3(a), the carriage 12 travels by a distance n.times..DELTA.x as illustrated, when the carriage motor 4 rotates by n.times..DELTA.r and an encoder pulse signal corresponding to the position Pn is generated. In the case where the carriage is driven under the influence of a certain elastic component of the belt as shown in FIG. 3(b), when the carriage drive motor 4 rotates by n.times..DELTA.r during acceleration and a encoder pulse corresponding to the position Pn is generated, since the belt 10 is elongated by .DELTA.E, there exists a problem in that the printed pots are offset by .DELTA.E from the correct position Pn.
If the rate of the expansion and contraction of the belt is constant, the dot intervals can be kept constant. However, since the expansion and contraction rate varies in such a way that the belt is expanded during acceleration, kept zero at a constant speed, and contracted during deceleration, the dot intervals cannot be kept constant.
As described above, there are two factors which cause the dot intervals to be unequalized when the printing operation is performed during acceleration or deceleration as follows:
* the factor caused by the flight time PA1 * the factor caused by the expansion and contraction of the pulling member PA1 * the expansion and contraction of the pulling member can be cancelled virtually by the correction according to the expansion and contraction rate of the pulling member; and PA1 * the flight time can be changed virtually according to the carriage speed by the correction according to the flight time.
Conventionally, however, since the correction has been effected only for that caused by the flight time, there still exists a problem in that the dot intervals cannot be equalized perfectly